#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;


class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 
     * @param arr int整型vector the array
     * @return int整型
     */
    int maxLength(vector<int>& arr) {
        // write code here
        unordered_map<int,int> mp;
        int n = arr.size();
        int ans = 0;
        int l = 0,r = 0;
        while(r < n)
        {
            mp[arr[r]]++;
            if(mp[arr[r]] >= 2)
            {
                while(mp[arr[r]] >= 2)
                {
                    mp[arr[l++]]--;
                }
                ans = max(ans,r - l + 1);
            }
            else
            {
                ans = max(ans,r - l + 1);
            }
            r++;
        }
        return ans;
    }
};